1. Field of the Invention
The present invention relates generally to techniques for use in generating a control script that when executed controls a communication system, and more specifically, to such techniques wherein a script that was initially created for use in controlling a first communication system may be converted for use in controlling a second communication system. Although the present invention will be described in connection with scripts that may be executed to control routing of calls in communication systems, it should be understood from the outset that the techniques of the present invention may also be used to advantage in connection with other types of communication system control scripts, including scripts that are primarily or exclusively for use in controlling non-call-routing related functions/operations (e.g., administrative functions/operations).
2. Brief Description of Related Prior Art
Systems for routing calls through public and/or private communications networks are known in the art. Conventional automatic call distribution (ACD) systems route calls to agents in telemarketing and service inquiry centers, and provide limited real-time call management and reporting capabilities. A typical ACD system will monitor the status of the agent and, when an incoming call is received, selects the agent to handle a particular service request. Reporting and performance data from the agents are also generated by the ACD.
One particular type of scheme for distributing calls to agents is disclosed in Frauenthal et al., U.S. Pat. No. 4,737,983. According to Frauenthal et al., data representing the present call congestion of each of the ACD systems is accumulated in a database. Using the data in the database, the percentage of calls made to the ACD systems, as a group, is determined. The information is then used to generate call routing information. When a new call is made to the central office, the routing information is queried to determine which of the ACD systems is to receive the call, so as to balance the call traffic load across the ACD systems.
Another call distribution scheme is provided in Gechter et al., U.S. Pat. No. 5,036,535. This patent discloses a system for automatically distributing telephone calls placed over a network to one of a plurality of agent stations connected to the network via service interfaces, and providing status messages to the network. Gechter et al.""s disclosed system includes means for receiving the agent status messages and call arrival messages from the network, which means are connected via a network service interface to the network. Routing means responsive to the receiving means is provided for generating a routing signal provided to the network to connect the incoming call to an agent station through the network. In the system disclosed in Gechter et al., when an incoming call is made to the call router, it decides which agent station should receive the call, establishes a call with that agent station, and then transfers the original call onto the second call to connect the incoming caller directly to the agent station and then drops out of the connection (See, Gechter et al., column 11, lines 45-51).
Other prior art call routing and distribution techniques are disclosed in Andrews et al., U.S. Pat. No. 5,873,130, which is assigned to the assignee of the subject application. This patent discloses a communications system and method for automatically making telephone routing decisions with global authority based upon information gathered in real time from the entire communications system and global optimization criteria. The entirety of the disclosure of the Andrews et al. patent is incorporated herein by reference.
In conventional call processing systems, calls may be routed in accordance with call routing control scripts executed by the system. The scripts include instructions that, when executed by the system, control physical and/or logical entities (e.g., agent systems, agent workgroups, ACD systems, and/or interactive voice response units (xe2x80x9cIVRsxe2x80x9d)) comprised in the system so as to cause the calls to be routed to desired destinations, and also cause non-call-routing-related functions/operations (e.g., administrative functions/operations) to be performed in the system. Hereinafter, these physical and/or logical entities controlled by the scripts are referred to as xe2x80x9cobjects.xe2x80x9d These script instructions reference the objects that they control, using respective unique object identification numbers arbitrarily assigned to them by the system, and explicitly recited in the instructions. That is, the object identification numbers are expressed in the scripts as specific constant numerical values.
If two communication systems have similar objects and configurations, it would be desirable to adapt control scripts, developed for use in controlling one of the communication systems (hereinafter termed xe2x80x9cthe originating systemxe2x80x9d), for use in controlling the other communication system (hereinafter termed xe2x80x9cthe target systemxe2x80x9d). Heretofore, such script adaption has been difficult, since typically, the object identification numbers referenced in the script developed for control of the originating system will almost never be the same as those assigned to similar objects in the target system, and such script adaption has required, e.g., line-by-line searching and replacement of code in the scripts (i.e., to appropriately change the referenced object identification numbers). As a result, in such script adaptation, a significant burden may be placed upon script programmers in terms of script coding and debugging time, effort, and frustration.
Accordingly, it would be desirable to provide techniques that both facilitate the ability to adapt scripts developed for controlling an originating system, so that they can be used in controlling a target system, and do not place such a significant burden upon script programmers.
In accordance with the present invention, techniques are provided that overcome the aforesaid and other disadvantages of the prior art. In one embodiment of a technique according to the present invention, a call routing control script is generated that includes a first section and a second section. The first section contains call routing instructions that reference values (e.g., numerical values) that identify respective objects in an originating communication system. The respective objects may comprise one or more physical and/or logical entities (e.g., agent workgroup, agent, ACD, and/or IVR systems) in the originating system, and the script may contain at least one instruction that, when executed by the originating system controls the one or more entities. In the second section of the script, the object identification values are associated with respective logical handles/names and with respective types/classifications of the respective objects identified by the respective object identification values. A database table may be stored (e.g., in the originating communication system) that correlates the respective object identification values with the respective logical handles and with the respective object classifications of the respective objects with which they are associated.
In an embodiment of another technique according to the present invention, a first control script that is executable by a target communication system is generated from a second control script developed for use in controlling an originating communication system. In order to generate the first script, a first section of the second control script is accessed to locate therein instructions that reference object identification values that identify objects in the originating communication system. These objects include one or more physical and/or logical entities (e.g., agent workgroup, agent, ACD, and/or IVR systems) in the originating communication system that are controllable by execution of one or more instructions in the first section of the second script. The second script also contains a second section that is inserted into the second script prior to its being used to generate the first script, and in which the object identification values are associated with respective logical handles/names and with respective classifications/types of the objects identified by the respective values. A database table is provided in the target system that correlates respective object identification values of respective objects in the target system with respective logical handles/names and with respective classifications/types of the respective objects in the target communication system. Based upon information contained in, and obtained from the database and second section of the second script, at least certain object identification values of objects in the originating communication system that correspond to objects in the target communication system are located in the first section of the second script, and are replaced with respective object identification values of corresponding objects (i.e., having the same respective logical handles/names and classifications) in the target communication system.
In this embodiment of this technique of the present invention, a user may be prompted (e.g., via a graphical user interface) to supply additional object identification values if the number of object identification values replaced in the first section of the second script is less than the total number of object identification values referenced by instructions in first section of the second script. An object in the originating system may be classified as xe2x80x9ccorrespondingxe2x80x9d or xe2x80x9cequivalentxe2x80x9d to an object in the target system, if the respective logical handles/names and classifications of the objects are identical.
Thus, by including in a control script developed for use in controlling an originating system, a section in which the object identification values referenced by the script""s instructions are associated with respective logical handles/names and respective classifications/types of the objects identified by the values, determination of equivalent/corresponding objects in a target system may be facilitated (e.g., by comparing respective logical handles/names and object classifications/types recited in that section with respective logical handles/names and respective object classifications of objects of the target system). After these equivalent/corresponding objects have been determined, it becomes relatively easy (e.g., using computerized editing techniques) to replace the respective object identification values in the script, with the respective object identification values of the respective corresponding objects in the target system, to the extent that such corresponding objects exist in the target system. Thus, advantageously, the present invention greatly facilitates the adaptation of scripts developed for use in controlling an originating communication system so that they may be used in controlling a target communication system, and substantially reduces, compared to the prior art, the burden that is placed upon script programmers in adapting such scripts.